import java.io.File;
import java.util.*;

// 定义一个二叉排序树结构
class Bst_tree {

    public int size = 0;

    // 定义树的结点
    private class Node { // 树结点
        public int data;// int类型的数据
        public Node lChild; // 左孩子
        public Node rChild; // 右孩子

        public Node() {

        }

        public Node(int data, Node lChild, Node rChild) {
            this.data = data;
            this.lChild = lChild;
            this.rChild = rChild;
        }

    }

    // 根结点
    private Node root = null;

    // 插入操作
    public int BST_insert(Node node, int data) {
        // 如果节点为空，则代表没有子树了，直接插入
        if (node == null) {
            node = new Node(data, null, null);
            size++;
            return 1; // 返回1代表插入成功
        } else if (data == node.data) {
            return -1; // -1就是插入失败
        } else if (data > node.data) {
            // 插入的数据大于结点的数据，那么插入到右子树
            return BST_insert(node.rChild, data);
        } else {
            return BST_insert(node.lChild, data);
        }
    }

    // 查找操作
    public Node BST_search(Node node, int data) {
        // node结点不能为null   如果找到了直接返回这个结点
        while (node != null && node.data != data) {
            if (data > node.data) {
                node = node.rChild;
            }
            if (data < node.data) {
                node = node.lChild;
            }
        }
        return node;
    }

    // 删除操作
    public void BST_delete(int data) {

    }
}


// main
public class Demo {

    public static int[][] area;
    static int row, column;

    // 递归判断
    public static void isOne(int i, int j){
        if(area[i][j] == 1){
            area[i][j] = 0;
            if(i - 1 >= 0){ // 上面一个
                isOne(i - 1,j);
            }

            if(i + 1 < row){ // 下面一个
                isOne(i + 1,j);
            }

            if(j + 1 < row){ // 右边一个
                isOne(i,j + 1);
            }

            if(j - 1 >= 0){ // 左边一个
                isOne(i,j - 1);
            }
        }


    }

    public static void main(String[] args) {


        Scanner input = new Scanner(System.in);
        row = input.nextInt();
        column = input.nextInt();
        area = new int[row][column];
        int count = 0;

        for (int i = 0; i < row; i++) {
            for (int j = 0; j < column; j++) {
                area[i][j] = input.nextInt();
            }
        }

        for (int i = 0; i < row; i++) {
            for (int j = 0; j < column; j++) {
                if(area[i][j] == 1){
                    count ++;
                    isOne(i,j);
                }
            }
        }
        System.out.println(count);

    }
}

